home *** CD-ROM | disk | FTP | other *** search
- Program BFTIME; {(C) 1995 - Brian Leiter - 03/11/1995}
-
- Uses DOS,CRT;
-
- Var H,M,S,Hund : Word; { For GetTime }
- FTime : Longint; { For Get/SetFTime }
- DT : DateTime; { For Pack/UnpackTime }
- Year,Month,Day,Dow : Word; { For Date }
- F,F1 : Text; { For File Name }
- Log : Boolean; { For Log File }
- Count : Integer; { For File Count }
- DirInfo : SearchRec; { For Search Info }
-
- Const Days : Array [0..6] of String[9] =
- ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
- CDrive: Byte = 0;
-
- Procedure Help;
- Begin
- ClrScr;
- Textcolor(9);Writeln('■ BFTIME v1.0 - A File Date/Timestamp Updater Program ■');
- Textcolor(15);Writeln('───────────────────────────────────────────────────────');
- Writeln('');Textcolor(14);
- Writeln('Command Line Usage: BFTIME [FILE MASK] (Log File)');
- Writeln('');Textcolor(11);
- Writeln('Ex 1: BFTIME *.ZIP <───< No Log File');
- Writeln('Ex 2: BFTIME *.ZIP C:\LOG\BFTIME.LOG <───< Log File Used');
- Textcolor(7);
- Writeln(' ');
- Writeln(' │ │ └──────────────────< Path & Name Of Log File');
- Writeln(' │ │');
- Writeln(' │ └────────────────────────< Mask For Files To Be Updated');
- Writeln(' │');
- Writeln(' └───────────────────────────────< Executionable Program File');
- Writeln('');Sound(850);Delay(350);NoSound;Sound(650);Delay(350);NoSound;Sound(850);Delay(350);NoSound;
- Halt;
- End;
-
- Procedure CheckParams;
- Begin
- Log:=False;
- If (ParamCount=0) or (ParamCount>2) Then Help;
- If ParamCount=2 Then Log:=True;
- End;
-
- Procedure DateNow;
- Begin
- GetDate(Year,Month,Day,Dow);
- If Log=True Then
- Begin
- Assign(F1,ParamStr(2));
- {$I-}Reset(F1);{$I+}
- IF IOResult<> 0 Then Rewrite(F1);
- Append(F1);
- Writeln(F1,'START LOG: ',Days[Dow],', ',Month:0, '-', Day:0, '-', Year:0,' ■ BFTIME v1.0');
- End;
- End;
-
- Function LeadingZero(W : Word) : String;
- Var S : String; { For File Name }
-
- Begin
- Str(W:0,S);
- If Length(S) = 1 Then S := '0' + S;
- LeadingZero := S;
- End;
-
- Procedure Importit;
- Begin
- FindFirst(ParamStr(1), Archive, DirInfo);
- While DosError = 0 Do
- Begin
- Count:=Count+1;
- Assign(F,DirInfo.Name);
- Reset(F);
- GetTime(H,M,S,Hund);
- GetDate(Year,Month,Day,Dow);
- GetFTime(F,FTime);
- Gotoxy(1,9);
- Textcolor(14);
- Writeln('■ ',DirInfo.Name,' Was Re-Dated And Re-Timestamped At '
- ,LeadingZero(h),':',LeadingZero(m),':',LeadingZero(s));
- If Log=True Then
- Begin
- Append(F1);
- Writeln(F1,' ■ ',DirInfo.Name,' Was Re-Dated And Re-Timestamped At '
- ,LeadingZero(h),':',LeadingZero(m),':',LeadingZero(s));
- End;
- UnpackTime(FTime,DT);
- With DT Do
- Begin
- GetDate(Year,Month,Day,Dow);
- Day:=Day;
- Month:=Month;
- Year:=Year;
- Hour := H;
- Min := M;
- Sec := S;
- PackTime(DT,FTime);
- Reset(F);
- SetFTime(F,FTime);
- End;
- Close(F);
- FindNext(DirInfo);
- End;
- Gotoxy(1,10);
- Textcolor(11);
- If Count>=1 Then Writeln('■ Operation Successfull - There Were ',Count,' Files Updated!');
- If Count<=0 Then
- Begin
- Writeln('■ Operation Failed - There Were No Files Matches Found!');
- Sound(350);Delay(350);NoSound; Sound(150);Delay(350);NoSound;
- End;
- If Log=True Then
- Begin
- Append(F1);
- If Count<=0 Then Writeln(F1,' ■ Operation Failed - No File Match Found ■');
- Writeln(F1,'END OF LOG: BFTIME (C) 1995 Brian Leiter, All Rights Reserved');
- Writeln(F1,'════════════════════════════════════════════════════════════════════════════════');
- Close(F1);
- End;
- End;
-
- Procedure Logo;
- Begin
- Clrscr;
- Textcolor(15);Textbackground(4);
- Writeln('╔════════════════════════════════════════════╗');
- Writeln('║ -=■ BFTIME v1.0 ■=- 03/11/95 ║');
- Writeln('║ ║');
- Writeln('║ File Date And Timestamp Updater ║');
- Writeln('║ ║');
- Writeln('║ (C) 1995 Brian Leiter, All Rights Reserved ║');
- Writeln('╚════════════════════════════════════════════╝');
- Textbackground(0);
- End;
-
- Begin;
- CheckParams;
- Logo;
- DateNow;
- Importit;
- Textcolor(7);
- ;
- End.